#include<stdio.h>
int main(){
    int N,V,i,result,data1,data2;
    scanf("%d %d",&N,&V);
    int arr[N][2];
    for(i=0;i<N;i++){
        scanf("%d %d",&arr[i][0],&arr[i][1]);
    }
    int j=V+1;
    int dp[i+2][j];
    for(i=0;i<N+1;i++){
        for(j=0;j<V+1;j++){
           if(i==0||j==0) {
               dp[i][j]=0;
           }else{
                if(arr[i-1][0]>j){
                    dp[i][j]=dp[i-1][j];
                }else{
                    data1=dp[i-1][j];
                    data2=dp[i-1][j-arr[i-1][0]]+arr[i-1][1];
                    dp[i][j]=(data2>data1?data2:data1);
                }
                 result=(dp[i][j]>=dp[i-1][j]?dp[i][j]:dp[i-1][j]);
           }
        }
    }
    printf("%d",result);
    return 0;
}